1. Field of the Invention
This invention relates to packet-switched data communication networks and more particularly to data routers employed within communication networks.
2. Description of the Relevant Art
Computer networks are communication networks which allow two or more computer systems to exchange data or share resources such as input/output (I/O) devices. There are two basic types of computer networks: local area networks (LANs) and wide area networks (WANs). A LAN is an interconnection of computer systems within a limited geographical area. A LAN may encompass a portion of a building, an entire building, or a cluster of buildings. A LAN allows users within the same office or company to exchange data files or share resources such as printers. A WAN connects computer systems over a large area, such as an entire city, state, or country. WANs are typically implemented using existing public switched telephone networks (PSTNs), and are thus operated and maintained by telephone service providers such as AT&T, MCI, and Sprint. A WAN allows users at remote sites, such as retail outlets, branch offices, or even their own homes, to exchange information with other users at a central corporate office or data site. The Internet, a complex interconnection of WANs, allows users to access information provided by companies and other users located worldwide.
Most modern communication networks are "packet-switched" networks. In a packet-switched network, multiple devices share the full data transmission capability of a single transmission medium. Network devices typically generate bursts of data followed by relatively long idle periods. Packet-switched communication networks handle the "bursty" nature of network device data traffic economically and efficiently by interleaving the data streams of many devices on the same transmission medium. Types of network transmission media include coaxial cable, twisted-pair cable, and even space (e.g., air or water) for "unguided" light or radio waves. Network devices typically exchange information via blocks of data called "packets". The packets are commonly encapsulated into "frames" transmitted sequentially over the transmission medium. Packets and frames are generated according to a selected set of rules or procedures governing the exchange of information (i.e., a selected network "protocol"). Address and control information within the packets are used to route the packets to their destination. Packet switching provides a way for network devices to share the full data transmission capability of the transmission medium without interference or interminable waiting periods for access.
There are numerous communication protocols currently being used in LANs and WANs to effectuate communication among network devices. Such protocols include TCP/IP, Ethernet, Frame Relay, DDS, ATM, X.25 and Sonet. Each communication protocol achieves data transmission in a different way. Unfortunately, network hardware and/or software designed to implement one communication protocol will typically not recognize data transmitted using another protocol. In addition, new communication protocols are continually being developed in an effort to increase the rates and reliabilities of data exchanges.
Special network devices called "routers" serve as links between communication networks. The router performs any required network protocol conversions. For example, assume a first device is coupled to a first network, a second device is coupled to a second network, and a router is coupled between the two networks. In order for the first device to send a message to the second device, the first device typically sends the message directly to the router which has an address just like any other network device. The message includes the address of the second device. The router extracts the data from the frames and packets of the protocol of the first network. Using the address of the second device within the message, the router determines that the data is to be forwarded to the second network. The router "packetizes" and "frames" the message data according to the protocol of the second network, then transmits the message to the second device via the network transmission medium of the second network.
Network routers temporarily store received data within one or more data buffers before retransmitting the data. When data cannot be routed quickly enough within a router, one or more of the data buffers may become full. Any data forwarded to a full data buffer is lost in a data buffer "overflow" condition. Such lost data must typically be retransmitted by the sender, causing transmission delays which negatively impact the data transmission rate. In addition, the need to retransmit data due to data losses within the router increases network data traffic.
It would be beneficial to have a network router architecture which efficiently forwards received data to the appropriate communication network. Reduced delays within the network router would help prevent data buffer overflow conditions and the resulting data losses and increased network data traffic.